package com.Drools.其他;

import java.io.File;
import java.net.URL;
import java.net.URLClassLoader;

public class JarLoaderExample {
    public static void main(String[] args) {
        try {
            // 定义jar文件路径
            String jarFilePath = "path/your/jar/***.jar";

            // 创建URL对象，指向jar文件
            File jarFile = new File(jarFilePath);
            URL jarUrl = jarFile.toURI().toURL();

            // 创建URLClassLoader对象，加载jar文件
            URLClassLoader classLoader = new URLClassLoader(new URL[]{jarUrl});

            // 加载并执行jar文件中的类
            //上述代码中的com.example.MainClass是你想要加载和执行的jar文件中的主类。你需要将其替换为你实际的主类名。
            //此代码将使用URLClassLoader类加载指定路径的jar文件，并通过反射调用jar文件中的主类的main方法。
            Class<?> loadedClass = classLoader.loadClass("com.example.MainClass");
            loadedClass.getMethod("main", String[].class).invoke(null, new Object[]{args});

            // 关闭URLClassLoader
            classLoader.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
